For example, cryptographic encryption methods are known in which a first entity begins by encrypting a message by means of a public key. Only a second entity, that holds the private key associated with this public key, can then decrypt the message. Among known methods used for this kind of cryptographic task may be cited those based on the RSA (Rivest, Shamir, Adleman) algorithm or on the so-called discrete logarithm problem, involving elliptic curves.
The strength of such algorithms is based on the length of the secret key employed. Currently, for an RSA algorithm, it is usual to use secret keys of up to 2048 bits. This implies that these algorithms are rather slow to apply in practice. Moreover, the complexity curve of such algorithms as a function of the secret key is sub-exponential, which may turn out to be limiting in the future, and allow attackers to break such algorithms with advances in technology and computation speeds.
Finally, constrained environments such as RFID technology for example, offer only a limited implementation area and have energy constraints limiting their storage and execution capability. It is common to have microchips that have a thousand logic gates. However, if only in order to store an RSA number, it is necessary for there to be several tens of thousands of logic gates.